package _220311;

import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;

/**
 * @author ShadowLim
 * @create 2022-03-11-11:26
 */

/**
 * 程序输入为一个正整数N (N<5000000)
 * 　　要求输出4个非负整数，按从小到大排序，中间用空格分开
 */

public class _四平方和 {

//    public static void main(String[] args) {
//        Scanner input =new Scanner(System.in);
//        int num = input.nextInt();
//        double maxNum= Math.sqrt(5000000);  // 尽力缩小最大值的范围，因为是平方，最大不会超过开方的数。
//        for (int i = 0; i < maxNum; i++) {
//            for (int j = i; j < maxNum; j++) {
//                for (int k = j; k < maxNum; k++) {
//                    int l=(int)Math.sqrt(num-i*i-j*j-k*k);
//                    if(i*i+j*j+k*k+l*l==num){
//                        System.out.println(i+" "+j+" "+k+" "+l);
//                        return;
//                    }
//                }
//            }
//        }
//        input.close();
//    }

    static Map<Integer, Node1> map = new HashMap<>();

    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int n = input.nextInt();
        for (int c = 0; c * c <= n; c++) {
            for (int d = c; d * d + c * c <= n; d++) {
                int t = c * c + d * d;
                if (!map.containsKey(t)) {
                    map.put(t, new Node1(c, d));
                }
            }
        }
        for (int a = 0; a * a <= n; a++) {
            for (int b = a; b * b +  a * a <= n; b++) {
                int ans = n - a * a - b * b;
                if (map.containsKey(ans)) {
                    System.out.println(a + " " + b + " " + map.get(ans).c + " " + map.get(ans).d);
                    return;
                }
            }
        }
    }
}
class Node1 {
    int c, d;

    public Node1(int c, int d) {
        this.c =c;
        this.d =d;
    }
}
